package com.zhentao.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhentao.dto.system.AssginRoleDto;
import com.zhentao.dto.system.LoginDto;
import com.zhentao.dto.system.SysUserDto;
import com.zhentao.entity.system.SysUser;
import com.zhentao.vo.system.LoginVo;

public interface SysUserService extends IService<SysUser> {
    /**
     * 根据用户名查询用户数据
     * @return
     */
    LoginVo login(LoginDto loginDto);

    /**
     * 获取用户信息
     * @param token
     * @return
     */
    SysUser getUserInfo(String token);

    /**
     * 退出登录
     * @param token
     */
    void logout(String token);

    /**
     * 用户动态查询+分页
     * @param sysUserDto
     * @return
     */
    Page<SysUser> findByPage(SysUserDto sysUserDto);
    /**
     * 新增用户
     * @param sysUser
     * @return
     */
    void saveSysUser(SysUser sysUser);
    /**
     * 修改用户
     * @param sysUser
     * @return
     */
    void updateSysUser(SysUser sysUser);

    /**
     * 删除用户
     * @param userId
     */
    void deleteById(Long userId);

    /**
     * 保存角色
     * @param assginRoleDto
     */
    void doAssign(AssginRoleDto assginRoleDto);
}
